<?php
	include("header.html");
?>

<a href="https://github.com/cobertura/cobertura">
    <img style="position: absolute; top: 0; right: 0; border: 0;"
         src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub">
</a>

<blockquote>
    <div class="bigger">
        <p class="centered">
            <i>
                "Cobertura is my new coverage tool of choice, and I hope to give
                something back. I hope you'll get involved, too."
            </i>
        </p>

        <p class="right">
            &ndash;Mike Clark, author of
            <a href="http://pragmaticprogrammer.com/starter_kit/auto/index.html">Pragmatic
                Project Automation</a>
        </p>
    </div>
</blockquote>

<h1>What is Cobertura?</h1>

<p>
    Cobertura is a free Java tool that calculates the percentage of code
    accessed by tests. It can be used to identify which parts of your
    Java program are lacking test coverage. It is based on jcoverage.
</p>

<h1>Features</h1>

<ul>
    <li>Can be executed from ant or from the command line.</li>
    <li>Instruments Java bytecode after it has been compiled.</li>
    <li>Can generate reports in HTML or XML.</li>
    <li>
        Shows the percentage of lines and branches covered for each
        class, each package, and for the overall project.
    </li>
    <li>
        Shows the McCabe cyclomatic code complexity of each class, and
        the average cyclomatic code complexity for each package, and for
        the overall product.
    </li>
    <li>
        Can sort HTML results by class name, percent of lines covered,
        percent of branches covered, etc. And can sort in ascending or
        decending order.
    </li>
</ul>

<h1>Press</h1>
<ul>
    <li><a href="http://www-128.ibm.com/developerworks/java/library/j-cobertura/">Measure
        test coverage with Cobertura, by Elliotte Rusty Harold</a> -
        Article introducing Cobertura
    </li>
    <li><a href="http://www-128.ibm.com/developerworks/java/library/j-cq01316/index.html?ca=drs">In
        pursuit of code quality: Don't be fooled by the coverage report, by
        Andrew Glover</a> - Article discussing how to interpret a coverage
        report and how to best utilize a coverage tool
    </li>
    <li><a href="http://raibledesigns.com/wiki/AppFuseCobertura.html">Using
        Cobertura with Appfuse</a></li>
</ul>

<h1>News</h1>
<div class="newsitem">
    <span class="date">11 April 2013</span>

    <div class="text">
        <p>
            We've added Steven Christou as a developer on the project!
            He has moved the source code to <a href="https://github.com/cobertura">Github</a>!
            Also Steven is migrating the code to use maven and is working
            on releasing 2.0 of cobertura soon! Welcome Steven!
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">12 March 2010</span>

    <div class="text">
        <p>
            We've added Piotr Tabor as a developer on the project! He contributed the performance improvements
            that went into 1.9.4. Welcome Piotr!
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">3 March 2010</span>

    <div class="text">
        <p>
            We've released Cobertura 1.9.4.1 to fix two problems with 1.9.4:
        </p>

        <ul>
            <li>
                Fix a problem that occurs in Tomcat. When TouchCollector
                initializes, it calls ProjectData.initialize() which (with
                Tomcat only) eventually calls TouchCollector. However,
                TouchCollector's static members have not been initialized.
                Added a test that highlights this problem. (Thanks to Jack Cobb
                for suggesting the fix).
            </li>
            <li>
                Runs on Java 5. (Fix for Bug 2962599).
        </ul>
    </div>
</div>


<div class="newsitem">
    <span class="date">1 March 2010</span>

    <div class="text">
        <p>
            We've released Cobertura 1.9.4. See below for the full list of changes.
        </p>

        <ul>
            <li>
                Cobertura is now up to 10x faster. Aggregates changes in
                temporary TouchCollector class (thread-safe, but lock-free) and after that
                applies it on real model (ProjectData) as a batch operation. (Piotr Tabor)
            </li>
            <li>
                Fixed "Some packages are included more then once" bug (#2875576) that
                caused some counts on the HTML report to be incorrect. (Charlie Squires)
            <li>
                Fixed "Inner classes not counted in coverage report total" bug (#2943320)
                (Charlie Squires)
            </li>
        </ul>
    </div>
</div>


<div class="newsitem">
    <span class="date">17 Sept 2009</span>

    <div class="text">
        <p>
            We've released Cobertura 1.9.3. See below for the full list of changes.
        </p>

        <ul>
            <li>
                Update to the latest Javancss (32.53) to fix some complexity calculation
                problems. Bug #2824425. (John Lewis)
            </li>
            <li>
                Non-Java source files (like Groovy) no longer show the JavaNCSS warnings
                during cobertura-report. Fix of bug #2819844.
            </li>
            <li>
                Support the case where multiple classloaders each load the Cobertura classes. (Ed Randall)
            </li>
            <li>
                Fixed bug added with 1.9.2 where a NullPointerException is thrown if
                ProjectData.saveGlobalProjectData() is called before any instrumented code is executed.
            </li>
        </ul>
    </div>
</div>


<div class="newsitem">
    <span class="date">25 June 2009</span>

    <div class="text">
        <p>
            We've released Cobertura 1.9.2. Cobertura is now thread safe! The recent problem
            introduced with Java 6 update 14 has also been fixed. See below
            for the full list of changes.
        </p>

        <ul>
            <li>
                Cobertura is now thread safe.
            </li>
            <li>
                Fix for FileLocker exception when writing coverage data (java.lang.IllegalStateException:
                Shutdown in progress) that started to appear with Java 6 update 14. (Chris van Es)
            </li>
            <li>
                Fix for bug "Unix scripts behave oddly due to DOS format - ID: 2788621"
            </li>
        </ul>
    </div>
</div>

<div class="newsitem">
    <span class="date">4 Feb 2009</span>

    <div class="text">
        <p>
            We've released Cobertura 1.9.1! This is mostly to fix the Complexity calculation for
            source with Java 5 language features such as Annotations. Existing users of Cobertura need
            to make sure you use ASM 3.0 jars for this release. See below
            for the full list of changes.
        </p>

        <ul>
            <li>
                Complexity calculation now works with Java 5 language features such as Annotations. (Tri Bao Ho)
            </li>
            <li>
                Removed the bold font from the source-view for uncovered lines to improve the alignment. (Jiří Mareš)
            </li>
            <li>
                Support Ant &lt;dirset&gt;s. (Matt Cordes, John Lewis)
            </li>
            <li>
                Support the antlib mechanism for defining and importing ant tasks. (Richard Atkins)
            </li>
            <li>
                Reports now support source encoded in something other than UTF-8. (Jiří Mareš)
            </li>
            <li>
                Report generation performance improvement. (Ignat Zapolsky)
            </li>
            <li>
                Report generation will look in zip and jar files if the source Java file is not found. (Charlie Squires,
                John Lewis)
            </li>
            <li>
                cobertura-check with linerate=0, branchrate=0, packagebranchrate=0, packagelinerate=0,
                totalbranchrate=0, totallinerate=0
                will no longer default all the values to 50 as before. Therefore, cobertura-check will always pass.<br/>
                Note that this still means that &lt;cobertura-check /&gt; (with no attributes) will still default to 50
                for all rates. (Charlie Squires) (Bug 2152919)
            </li>
            <li>
                New coberturaFlush.war is created. Deploy it to a web server and invoke http://&lt;HOST&gt;:&lt;PORT&gt;/coberturaFlush/flushCobertura
                for a convenient way of flushing the cobertura data to the datafile without stopping the web server.
                (Amit Nithianandan)
            </li>
            <li>
                XML report now shows total lines-covered, lines-valid, branches-covered, branches-valid, and complexity.
                (Julian Gamble)
            </li>
            <li>
                New report option called "summaryXml" will create a small summary XML report that does not have all the
                details on the classes - just the overall totals. This is for large projects where the full XML report
                gets so
                big it impairs continuous build processes. (Julian Gamble and Dan Godfrey)
            </li>
            <li>
                Migrated from asm-2.2.1 to asm-3.0. (Jiří Mareš)
            </li>
            <li>
                The percentage coverage of 199 out of 200 lines has been 100%. No more! Now it is 99%. (Jiří Mareš)
            </li>
            <li>
                Spelling error corrected in main.css file - changed magin to margin. (Dennis Lundberg)
            </li>
            </li>
        </ul>

    </div>
</div>

<div class="newsitem">
    <span class="date">3 Feb 2009</span>

    <div class="text">
        <p>
            New Spanish tutorial available thanks to Alejandro P&eacute;rez Garc&iacute;a!<BR/>
            <BR/>
            <a href="mavenCobertura.html">Tutorial en Espa&ntilde;ol (gracias a Alejandro P&eacute;rez
                Garc&iacute;a)</a>. Puedes acceder a la versi&oacute;n m&aacute;s actualizad <a
                href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=mavenCobertura">en este
            enlace</a>."
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">5 June 2007</span>

    <div class="text">
        <p>
            We've released Cobertura 1.9! There is much improved
            branch/conditional coverage and a new maxmemory attribute that can
            be used if instrumentation needs more memory. See below
            for the full list of changes.
        </p>

        <ul>
            <li>
                Much improved branch/conditional coverage. Information on whether
                the true as well as the false of an if statement is
                collected. Also, information on the branches of a
                switch statement (including the default) is collected.
                (Jiří Mareš)
            </li>

            <li>
                Assume Java source files are saved as UTF-8 instead of
                the computer's default encoding.
            </li>

            <li>
                Write all HTML and XML reports in UTF-8 instead of the
                computer's default encoding (Naoki Iwami).
            </li>

            <li>
                Fix a bug where the Cobertura ant tasks would not work
                correctly in Microsoft Windows when Cobertura was
                installed on a different drive than the drive from which
                you're running ant (Srivathsan Varadarajan).
            </li>

            <li>
                Added a "maxmemory" attribute to the instrument, merge
                and report ant tasks (Matt Cordes).
            </li>

            <li>
                Improve support for Maven and similar environments where
                control over system properties is difficult such as
                app servers, IoC containers, IDEs, etc. Setting the
                datafile location is difficult in these environments.
                To correct this, a cobertura.properties file
                located in the classpath is used to properly set the
                net.sourceforge.cobertura.datafile property.
                (Joakim Erdfelt)
            </li>

        </ul>

    </div>
</div>


<div class="newsitem">
    <span class="date">5 November 2006</span>

    <div class="text">
        <p>
            We've added two new developers, Jiří Mareš and Joakim Erdfelt! Jiří
            has been working on improving the way we handle branch coverage, and
            Joakim is the author of the Cobertura plugin for Maven 2. Rejoice.
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">10 April 2006</span>

    <div class="text">
        <p>
            The first set of binary packages we uploaded were built with Java 1.5.
            Sorry about that. We've uploaded new packages that were compiled with
            1.3.1.
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">23 May 2006</span>

    <div class="text">
        <p>
            We've added John Lewis as a developer on the project! The
            more the merrier. He contributed some of the bigger changes
            in Cobertura 1.8, and he's been pretty active on the
            <a href="https://lists.sourceforge.net/lists/listinfo/cobertura-devel">cobertura-devel</a>
            mailing list.
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">10 April 2006</span>

    <div class="text">
        <p>
            After 4 long months we've released Cobertura 1.8! Lots of good
            changes in this release: show the total number of lines and
            branches in the HTML report, support for Groovy, allow multiple
            JVMs to cleanly write to the same data file, and more robust
            instrumentation of archives (and even archives inside of
            archives!) See below for the full list of changes.
        </p>

        <ul>
            <li>
                Ability to have multiple &lt;ignore/&gt; regular expressions
                in the instrument task (Alexei Yudichev).
            </li>

            <li>
                Ability to specify a minimum branch coverage rate and
                line coverage rate for each package when using
                cobertura-check.
            </li>

            <li>
                Show the number of lines and branches covered and the
                total number of lines and branches in the HTML report.
            </li>

            <li>
                Support for instrumenting classes written in Groovy.
            </li>

            <li>
                Lock the data file before trying to write to it. This
                allows multiple JVMs (or multiple class loaders within
                a single JVM) to write to the same coverage data file
                with no problems (John Lewis).
            </li>

            <li>
                Ability to instrument classes on a given classpath
                instead of specifying filesets (John Lewis).
            </li>

            <li>
                Ability to specify which classes will be instrumented
                using regular expressions (John Lewis).
            </li>

            <li>
                Archives within archives will be instrumented if you
                specify an includeClassname regular expression (John
                Lewis).
            </li>

            <li>
                If instrumenting an archive, remove any signatures
                and checksums, since they will no longer be valid (John
                Lewis).
            </li>

            <li>
                Removed the Class-Path line from cobertura.jar. You may
                need to modify your Cobertura taskdef to include the jars
                in Cobertura's 'lib' directory. See our Ant task web
                page for an example.
            </li>

            <li>
                Reorganized libs into a flatter directory structure--you
                may need to update your ant scripts.
            </li>

            <li>
                Upgraded from asm 2.1 to asm 2.2.1. No code changes were
                needed.
            </li>

            <li>
                Copied portions of classes from JavaNCSS into Cobertura
                so that we don't need to include the entire JavaNCSS and
                CCL jars.
            </li>
        </ul>

    </div>
</div>


<div class="newsitem">
    <span class="date">17 March 2006</span>

    <div class="text">
        <p>
            Benoit Xhenseval and the
            <a href="http://qalab.sourceforge.net/index.html">QALab</a> folks
            have added support for Cobertura to their product. From their
            website, "[t]his project collects and consolidate data from several
            QA tools, like pmd, checkstyle, FindBugs, Cobertura and Simian and
            keeps track of them overtime. This allows developers, architects
            and project managers alike to be presented with a trend of the QA
            statistics of their project."
        </p>

        <p>
            For anyone interested in seeing coverage statistics-over-time,
            <a href="http://qalab.sourceforge.net/qalab-report.html">check
                out their report</a>.
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">6 December 2005</span>

    <div class="text">
        <p>
            We've just released Cobertura 1.7. We fixed the problems with
            the merge task,
            as well as a few other bugs. The full list of changes is below.
        </p>

        <ul>
            <li>
                log4j is no longer used by the Cobertura classes that are
                accessed by instrumented Java code. This means you will
                not need to add log4j to your project's classpath in order
                to use Cobertura (but log4j is still required when
                instrumenting and reporting).
            </li>

            <li>
                Upgraded from asm 2.0 to asm 2.1. No code changes were
                needed.
            </li>

            <li>
                Improved the merge task. It should work correctly now
                (with help from Björn Beskow).
            </li>

            <li>
                Fixed the ability to specify a data file in the merge
                task.
            </li>

            <li>
                Changed the command-line interface to the merge task and
                added a helper batch/shell script.
            </li>

            <li>
                Added better error checking to the merge task.
            </li>

            <li>
                Fixed a bug where an empty or incomplete coverage data
                file would be written when you test classes inside Tomcat,
                and you stop Tomcat using the shutdown.bat or shutdown.sh
                scripts. This would result in an EOFException when
                running cobertura-report.
            </li>

            <li>
                Added support for classes compiled with AspectJ.
            </li>
        </ul>
    </div>
</div>


<div class="newsitem">
    <span class="date">22 August 2005</span>

    <div class="text">
        <p>
            As promised, we've just released Cobertura 1.6 which includes
            support for generating reports using different source trees
            and instrumenting many directories of classes with one call to
            cobertura-instrument. See our
            <a href="anttaskreference.html">ant task reference</a> for
            examples.
        </p>

        <ul>
            <li>
                Can now use multiple filesets in the cobertura-instrument
                task (Thanks to Grzegorz Lukasik).
            </li>

            <li>
                Can now use multiple filesets in the cobertura-report task
                (Thanks to Jeremy Thomerson, Grzegorz Lukasik and James Seigel).
            </li>

            <li>
                No longer using the Java version of GNU GetOpt
            </li>

            <li>
                Fixed a bug where the total number of classes displayed in
                the HTML report included anonymous classes when it should
                not have.
            </li>
        </ul>

    </div>
</div>


<div class="newsitem">
    <span class="date">5 August 2005</span>

    <div class="text">
        <p>
            We've added a new developer, Grzegorz Lukasik, to the project!
        </p>
    </div>
</div>


<div class="newsitem">
    <span class="date">5 August 2005</span>

    <div class="text">
        <p>
            We've decided to release Cobertura 1.5. This release includes
            a lot of good changes. However, it does <i>not</i> yet support
            instrumenting multiple directories for classes or generating a
            report using multiple source directories. Cobertura 1.6
            will include both of these enhancements, and will hopefully be
            released in about two weeks.
        </p>

        <p>
            The changes in 1.5 are:
        </p>

        <ul>
            <li>
                Shortened the header shown when running Cobertura (Thanks
                to Jarkko Viinamäki).
            </li>

            <li>
                Don't save the data file twice after instrumenting.
            </li>

            <li>
                Print a warning when running cobertura-report with a
                data file that does not contain information from the
                instrument step.
            </li>

            <li>
                When instrumenting, you can now specify a zip, jar, war,
                ear or sar file and Cobertura will instrument any classes
                inside of the archive. You must explicity give the name
                of the archive when instrumenting--giving the name of the
                directory containing the archive will not work (Thanks to
                Grzegorz Lukasik).
            </li>

            <li>
                Fixed a bug where the class list in the HTML reports did
                not show multiple classes with the same name, but in
                different packages.
            </li>

            <li>
                Add a timestamp and version number to all HTML reports.
            </li>

            <li>
                Add a timestamp and version number to all XML reports.
            </li>

            <li>
                Add the combined line-rate and branch-rate for all
                packages to all XML reports.
            </li>

            <li>
                Fixed the merge task (Thanks to Mark Sinke).
            </li>

            <li>
                The check task now supports checking against a project's
                total branch and line coverage rates (Thanks to Nathan
                Wilson).
            </li>

            <li>
                The check ant task now allows you to fail the ant build,
                if desired (Thanks to Nathan Wilson).
            </li>

            <li>
                The check task can set an ant property to "true" on
                failure (Thanks to Alex Ruiz).
            </li>

            <li>
                Changed some of the parameters for the check task. See
                the online documentation for usage information.
            </li>

            <li>
                The command line Windows batch scripts work better.
            </li>

        </ul>

    </div>
</div>

<div class="newsitem">
    <span class="date">30 May 2005</span>

    <div class="text">
        <p>
            Some bugs sprung up after we released the last version, so we
            decided to release 1.4 (after fixing the bugs, of course).
        </p>

        <p>
            The changes in 1.4 are:
        </p>

        <ul>
            <li>
                Fixed a bug that sometimes resulted in a
                StringIndexOutOfBoundsException when running cobertura-report
                (Thanks to Grzegorz Lukasik).
            </li>
            <li>
                Fixed a bug where classes without coverage data ("N/A") were
                not always sorted correctly in the HTML report (Thanks to
                Olivier Parent).
            </li>
            <li>
                Fixed a bug where the code complexity column would not always
                sort correctly in locales that use a comma to split the decimal
                part of the number (Thanks to Olivier Parent).
            </li>
            <li>
                Show "N/A" in the branch column of the HTML report for classes
                and packages that do not have any branches.
            </li>
        </ul>
    </div>
</div>

<div class="newsitem">
    <span class="date">20 May 2005</span>

    <div class="text">
        <p>
            A little over two months later we've released version 1.3. There
            were some big changes to the code that will hopefully make
            future development a bit smoother. And of course, there's that
            "real life" thing that always delays things.
        </p>

        <p>
            We've added some <a href="anttaskreference.html">ant task</a> and
            <a href="commandlinereference.html">command line</a> examples to
            the web page. Please
            <a href="mailto:cobertura-devel@lists.sourceforge.net">let us know</a>
            if you see any mistakes, or if you find something that needs
            clarification.
        </p>

        <p>
            The changes in 1.3 are:
        </p>

        <ul>
            <li>
                Increased speed of HTML reports by filtering the files read
                in to determine cyclomatic complexity numbers on.
            </li>
            <li>
                In the lower left pane of the HTML reports, classes are now
                sorted only by their class name (instead of by their package
                name plus class name).
            </li>
            <li>
                Changed the format of the XML reports to something that
                is hopefully easier to use and more natural. This
                unfortunately breaks backward compatability.
            </li>
            <li>
                We're using a DTD for the XML reports now. See
                http://cobertura.sourceforge.net/xml/coverage-01.dtd
            </li>
            <li>
                Added the ability to specify the location of the coverage
                data files from the ant tasks and the command line.
            </li>
            <li>
                More user-friendly error checking and reporting.
            </li>
        </ul>
    </div>
</div>

<div class="newsitem">
    <span class="date">16 March 2005</span>

    <div class="text">
        <p>
            We decided to release Cobertura 1.2 because of a bug in the XML
            reports in 1.1. If you use the XML reports you'll definitely
            want to upgrade, otherwise you're safe with 1.1. Also, Cobertura
            1.2 (and 1.1, and maybe 1.0) requires a 1.4 or newer JVM. Is this
            a problem for anyone? If so, please send an email to our mailing list
            (<a href="mailto:cobertura-devel@lists.sourceforge.net">cobertura-devel@lists.sourceforge.net</a>)
            and let us know what version of the JVM you would like to use.
        </p>

        <p>
            Here are the changes in 1.2:
        </p>

        <ul>
            <li>
                Fix a bug that caused the XML reports to be invalid XML
                (they were missing the &lt;/package&gt; tag).
            </li>
            <li>
                Use Java 1.4 pattern matching and remove Jakarta ORO.
            </li>
        </ul>
    </div>
</div>

<div class="newsitem">
    <span class="date">8 March 2005</span>

    <div class="text">
        <p>
            We just added our first new developer,
            <a href="mailto:jthomerson@users.sourceforge.net">Jeremy Thomerson</a>,
            to the team! Look forward to seeing good things from him in
            the future.
        </p>
    </div>
</div>

<div class="newsitem">
    <span class="date">8 March 2005</span>

    <div class="text">
        <p>
            Just released 1.1! It contains a few bug fixes, some feature
            improvements, and performance enhancements. Here's the list of
            changes:
        </p>

        <ul>
            <li>
                Fix a bug in the syntax highlighting code of the HTML report
                generation. Previously, the highlighting for single quotes
                containing "\\" would not end correctly.
            </li>

            <li>
                Check the third party jars into CVS using the correct CVS
                substition flag (binary, not ASCII).
            </li>

            <li>
                Temporary files created by the instrument ant task and merge
                ant task are now deleted after the ant task finishes.
            </li>

            <li>
                Switch the instrumentation classes to use ASM instead of
                Apache BCEL. There are three benefits to this:
                <ol>
                    <li>
                        BCEL was throwing exceptions with some source code compiled
                        with JDK 1.5--ASM works fine.
                    </li>
                    <li>
                        ASM is licensed under the revised BSD license, which
                        is compatable with the GPL, which allows us to remove
                        the questionable exception for BCEL from the license.
                    </li>
                    <li>
                        Instrumentation is about 5 times faster with ASM than BCEL.
                    </li>
                </ol>
            </li>

            <li>
                Modify the HTML reports so that classes without line number
                information will appear as "Not Applicable." This includes
                skeleton classes, stub classes, interfaces, or anything not
                compiled with debug=true.
            </li>

            <li>
                Fix bug #1151777 with a patch from Jeremy Thomerson.
                Previously we were not escaping some characters correctly in the
                generated XML coverage report (specificially &lt; and &gt;).
            </li>

            <li>
                Set the class-path in the cobertura.jar manifest file correctly.
            </li>

            <li>
                Fill feature request #1151779 with a patch from Jeremy Thomerson.
                This changes the structure of the XML report so that &lt;classes&gt;
                are enclosed inside &lt;packages&gt;.
            </li>
        </ul>
    </div>
</div>

<div class="newsitem">
    <span class="date">12 February 2005</span>

    <div class="text">
        <p>
            Alright, everything is in CVS now and I've released 1.0. Please
            try it out and file bug reports for anything that doesn't work for
            you. I should point out that the original jcoverage has an
            Eclipse plugin. I don't use the plugin, and haven't tested it
            in Cobertura, so I'm not providing a package for it. However, I left
            the build steps for the Eclipse plugin in place, so if you want
            to use it you should be able to download a source distributable and
            compile yourself. The major changes between Cobertura 1.0 and
            jcoverage 1.0.5 are below.
        </p>

        <ul>
            <li>
                Applied a patch from Joakim Erdfelt to fix a bug where jcoverage
                would fail to instrument classes if you attempted to instrument a
                very large number of classes (in the hundreds).
            </li>
            <li>
                Rewrote the HTML reporting and included code complexity in the output.
                I should point out that parts of these reports are influenced by the
                <a href="http://maven.apache.org/reference/plugins/jcoverage/">Maven
                    Jcoverage plugin</a>, the
                <a href="http://www.cenqua.com/clover/">Clover</a> reports, and
                the JUnit HTML reports.
            </li>
        </ul>
    </div>
</div>

<div class="newsitem">
    <span class="date">11 February 2005</span>

    <div class="text">
        <p>
            I uploaded the web page and did some initial project setup. I'll
            give my code a good once-over then import it to CVS soon.
        </p>
    </div>
</div>

<div class="newsitem">
    <span class="date">10 February 2005</span>

    <div class="text">
        <p>
            The Cobertura project was created on sourceforge.
        </p>
    </div>
</div>

<?php include("footer.html"); ?>
